if (kind = PicKind) or (kind = ProfilePlotKind) or (kind = CalibrationPlotKind) or (kind = HistoKind) or (Kind = PasteControlKind) or (Kind = ResultsKind) or (Kind = TextKind) then
while token in [Variable, StringVariable, StringLiteral, NumericLiteral, TrueT, FalseT, FunctionT, StringFunctionT, comma, MinusOp, LeftParen] do begin
if token = comma then
GetToken;
if nArgs < MaxArgs then
nArgs := nArgs + 1
else
MacroError('Too many arguments');
if (token = StringVariable) or (token = StringLiteral) or (token = StringFunctionT) then begin
nStringArgs := nStringArgs + 1;
arg[nArgs] := 0.0;
StringArg[nArgs] := true;
if token = StringFunctionT then
TokenStr := DoStringFunction;
end
else begin
PutTokenBack;
arg[nArgs] := GetExpression;
StringArg[nArgs] := false;
end;
if nStringArgs > 1 then
MacroError('No more than one string argument allowed');